home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Utilities Experience
/
The Utilities Experience - Volume 1.iso
/
software
/
graphics
/
n-z
/
zgif_drvr
/
zgif04
/
zgif.doc
< prev
next >
Wrap
Text File
|
1995-12-21
|
6KB
|
142 lines
ZGif V0.4 1993 Michael Zucchi
16/256 colour gif viewer.
68020 & 68000 versions. AGA = great!
Note:
"The Graphics Interchange Format(c) is the Copyright property of
CompuServe Incorporated. GIF(sm) is a Service Mark property of
CompuServe Incorporated."
-------------------------------------------------------------------------
Usage:
zgif[00] file1 file2 ...
Each picture is decompacted and converted into bitplane format on a screen
which pops up in front. When you press either mouse button, the screen is
closed, and the next picture is loaded.
To speed up loading on a non-aga (or AGA Super-hires/DBLPAL screen) try
hitting right-amiga-n to put workbench in front.
-------------------------------------------------------------------------
Good bits:
o Its fast. (about fastgif speed - i just cant make it go any faster)
about 5 secs - to - screen for a 750x512 picture - on a1200
with no fast. Or about 12 seconds for a 1200x800 monster.
One of the things that makes it so fast is its chunky to planar converter.
Its not a brilliant converter, but its still faster than WritePixelLine8()
by quite a bit. Currently uses a different routine for each resolution,
which can cause problems!
o asynchronous file reading routines allow an A1200 to load GIF's off of
floppies as fast as off of a HDD! (or RAM: for that matter :) They should
allow a FAST cpu to load as fast as the I/O can load (i.e. '040 + SCSI-II
should be real-time :)
o Its small. About 3.5K.
o Its does 256 colour pics IN 256 COLOURS! Unlike the latest FastGif,
it uses the full 24 bit pallete! (AGA required guys!)
o Memory used is only the memory required for the program, plus 16K for
the LZW decoder, and 15 K for 3, 5K read buffers plus the screen of course!
o will now (hopefully guru free) load 16 colour GIF's on any Amiga
-------------------------------------------------------------------------
Limitations: (bad bits)
o Only 16 'grey' mode is supported for non-aga machines. This normally
doesn't prove troublesome unless you have ECS and try to display a
>800 across picture. The displaymode code will attempt to use
superhires, which only allows 4 colour screens (in ECS) - resulting in
nothing being displayed (4 colour code not present yet)
It sometimes tries to display 16 grey's into this 2 bitplane screen->crash.
o Currently only handles non-interleaved, 256 and 16 colour GIFs (most are
these)
o No real options. It shows GIFs and thats all.
-------------------------------------------------------------------------
Version 0.4 update
WOW! Added async file reading routines. Bumped up the code about 1K
but ... On a 1200 it will load a GIF off of a floppy about the same speed
as off of HDD! _Amiga_ forever! :) It loads GIFs as fast (?) as IFF's
normally load! (off of floppy)
As a bonus, memory requirements are _dramatically_ reduced, now only 15K
is needed for a read buffer (used to be entire file)
Version 0.3 update
Managed to bash out a 68000 version of the program, it is nearly as fast
as the '020 version on my 1200. I'd like to know which is faster with
FAST mem? The '020 version is a few hundred bytes shorter anyway.
Two versions are provided, ZGif and ZGif00.
Version 0.2 update
It will now load 16 colour gif's without crashing (hopefully). 0.1 could
actually load 16 colour gifs! But they often crashed the program - some
GIF encoders don't seem to include an ending code before the data runs
out ...
Also added the CompuServe Inc notice.
Version 0.1 update
Now added support for non aga Amigas in form of 16 shade greyscale output.
See end of doc for history information.
I've also decided to adopt CBM's version scheme. Numbers will be 0.x
with x going from 0 to xxxx one at a time. I will get to 1.0 when an
initially completed version is made - and i'll relase it to the world!
-------------------------------------------------------------------------
Plans: (no order)
o Add more non-aga support.
o Add some options -
force screenmode/resolution
slideshow stuff -
timeout for a picture
double-buffer loading (load one while displaying one)
anything else ???
o Possibly add graphics.library calls to convert chunky->planar.
For those lucky bastards with non-standard graphics.
Not in the standard version. I gave WritePixelLine8() a go, it
makes the entire program run about 2x slower :(
o Add more display database manipulation. As it stands, i assume
'INTERLACED' would be used (with the 'default monitor') for
pictures bigger than 300 high.
This is not the correct way to use the display database.
V39 has a 'GetBestMode()' call, but not many people have 3.0! :(
o maybe HAM or 16 colour preview mode for 256 colour pics on non-AGA
machines. Perhaps i'll wait till i write a gfx converter :)
o Also add better support for the GIF standard.
at least interleaved bitmaps, a lot of GIF89a is useless
o No, can't get any faster! (i've been trying for a few days)
(unless i get a better algorithm ...)
-------------------------------------------------------------------------
; history
;
; 0.0 initial
; 0.1 added 16 colour hires support
; added a _few_ error messages
; 0.2 the decoder didn't used to stop if it ran out of blocks and it hadn't
; Should now be able to view 16 colour gifs!
; added a couple more messages.
; 0.3 converted '020 code to make an 00 version
; 0.4 added asynchronous file input. WOW! It'll load off of floppy the
; same speed as with a HDD now!
-------------------------------------------------------------------------
Michael Zucchi
9107047w@lux.levels.unisa.edu.au
This is free, but i AM a starving programmer :) so any donations would be
most welcome!